草庐IT

关于目录:php readdir 和 is_dir

全部标签

ruby - Dir[File.join(File.dirname(__FILE__), "subdirectory/**/*.rb")] 的较短版本?

这是一个有点微观的问题,但每次我创建一个gem并需要加载子目录下的所有文件以用于某种反射目的(或只是一个快速而肮脏的预加载)时,我问自己“肯定有更清洁的方法吗?”,引用这种常见模式:Dir[File.join(File.dirname(__FILE__),"subdirectory/**/*.rb")].each{|f|requiref}需要在__FILE__上调用File.dirname,这使得它不必要地冗长。你不能真正在gem中使用相对路径,因为你不知道你是从哪里加载的。 最佳答案 你用的是哪种ruby?在ruby​​1.9中,

ruby-on-rails - 如何 'rake spec' 一个目录,例如楷模?

我可以rakespec并运行所有规范。但是尝试为一个目录运行规范,如rakespec/models/orrakespec/models/*.rb不提供任何输出或错误。一个选项是我可以做rspecspec/models/*.rb或rspecspec/models/但我想知道我是否可以留在Rake。 最佳答案 尝试使用rakespec:models而不是rakespec/models。运行rake-T|grepspec查看所有可用的rakespec任务。更新:通过rakespec运行规范可能比通过rspecspec运行它们慢,rspec

Ruby:在多个目录中的多个文件中搜索正则表达式

请原谅我的无知,我是Ruby新手。我知道如何使用正则表达式搜索字符串,甚至单个文件:str=File.read('example.txt')match=str.scan(/[0-9A-Za-z]{8,8}/)putsmatch[1]我知道如何在多个文件和目录中搜索静态短语pattern="hello"Dir.glob('/home/bob/**/*').eachdo|file|nextunlessFile.file?(file)File.open(file)do|f|f.each_linedo|line|puts"#{pattern}"ifline.include?(pattern)e

ruby-on-rails - 无法加载 lib 目录模块 - 未初始化的常量 - rails 2 到 rails 3 升级

我目前正在将Railsv2中的应用程序迁移到v3在我的lib/我在子目录中有一些模块,例如,我有lib/search/host_search.rb有一个moduleHostSearchdefdo_search(args)#...endend然后我需要在名为Discovery::HostController的Controller中使用它defsearch_resultsoutput=HostSearch.do_search(:search_string=>@search_string,:page=>params[:page],:user=>@current_user)#...end但是我

ruby - 为什么会.is_a?和 .class 给出相互矛盾的结果?

我有三个属于同一个类的对象。一个是通过Item.new创建的,另外两个是从数据库(Mongoid)中提取的。我将这些对象中的一个/任何一个传递给另一个方法,并通过is_a?检查该方法中的类型:definitialize(item,attrs=nil,options=nil)super(attrs,options)raise'invaliditemobject'unlessitem.is_a?(Item)好吧,这次加薪被击中了。所以我在Rails控制台中检查类、is_a和instance_of。我得到相互矛盾的结果。为什么它们有相同的class但只有其中一个是那个class的instan

ruby - 使用 Foreman 启动位于不同目录的 Rack App

我有一个成功运行多个进程的Procfile设置:#/Procfileredis:bundleexecredis-serversidekiq:bundleexecsidekiq-v-C./config.ymlforward:forward4567mock-api我需要再添加一个进程-一个位于我机器上不同目录中的Sinatra应用程序。如果我cd到该目录,我可以从终端启动它:$rackup-p4567我可以使用终端从不同的目录启动它:$sh-c'cd/Path/to/project/&&execrackup-p4567'但是我应该如何使用工头来做到这一点。我尝试添加以下内容,但它无声地失败

ruby-on-rails - 如何正确管理 rails tmp 目录?

在生产模式下部署Rails应用程序后,是否需要安排定期清理Railstmp目录?又名:raketmp:clear(或其子部分tmp:sessions:clear、tmp:cache:clear、tmp:sockets:clear)。我知道rails的一些主要修订是需要完成的。我目前正在使用Rails4.1.x。谢谢。 最佳答案 将其中一个或多个添加到您的crontab文件中你……raketmp:cache:clearraketmp:clearraketmp:createraketmp:sessions:clearraketmp:so

ruby - Sass: errno::enoent: 没有那个文件或目录

我知道这是一个非常平淡的错误,但我在Sass3.4.2中遇到了一个常规的“找不到文件”错误:/*Errno::ENOENT:Nosuchfileordirectory-dumdum.scssBacktrace:/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/plugin/compiler.rb:482:in`read'/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/plugin/compiler.rb:482:in`update_stylesheet'/Library/Ruby/

ruby - 为什么在 IRB 中使用 Refinement 时得到 "main.using is permitted only at toplevel"?

我尝试在IRB(v0.9.6,Ruby2.3.0)中使用Refinement:moduleFoorefineObjectdodeffoo()"foo"endendendusingFoo#=>RuntimeError:main.usingispermittedonlyattoplevel这基本上是theexactsetupfromthedocumentation(这会导致相同的错误)。出了什么问题?我该如何解决这个问题? 最佳答案 这可能是IRb的错误或功能不当。众所周知,由于IRb的实现方式非常骇人听闻,因此它无法在所有极端情况下正

ruby - 尝试从 Word 文档中获取内容时获取 "Ole::Storage::FormatError: OLE2 signature is invalid"

我正在使用Rails5。我想从Word文档(.doc)中获取文本,所以我正在使用这段代码text=nilMSWordDoc::Extractor.load(file_location)do|ctl00_MainContent_List1_grdData|text=contents.whole_contentsend但我收到以下错误。我的Gemfile中有这个gemgem'msworddoc-extractor'我还需要做什么才能从Word文档中获取内容?如果我可以像对.doc文件一样对.docx文件应用相同的代码,那就太好了。/Users/davea/.rvm/gems/ruby-2.